1. Technical Field
The present invention relates generally to the field of graphical user interfaces for computer based systems for data entry screens and other types of form completion. Still more particularly, the present invention relates to online form completion in which a plurality of fields are to be completed, where information related to data entered into the online form is retrieved from the form itself.
2. Description of Related Art
Graphical user displays on electronic devices such as computers, web browsers, personal digital assistants, and wireless communications devices are common in the art. As these devices become more and more integral to activities in the daily lives of people such as web browsing, word processing, and even making telephone calls, the efficiency and ergonomics of these interfaces are extremely important. A user will quickly notice whether one user interface is easier and quicker to use than another based upon the number of operations required to perform a certain task. Further, the level of “intuitiveness” implemented in the user interface can greatly increase the usefulness and speed with which the user can operate the device.
Many graphical user interfaces follow the same conventions for navigation and selection of controls on the user interface. Such common graphical user interfaces (“GUI”) include windows or frames-type displays in Microsoft's Windows operating system, UNIX operating system, IBM's OS/2 and AIX operating systems, Microsoft's Windows CE operating system, Apple Computer's operating system, and many “proprietary” windows-like GUI's on various devices such as PDA's, cell phones, electronic organizers, etc.
FIG. 1 illustrates a fundamental client-server arrangement of Internet and intranet communications. A client web browser computer 1 is provided with Internet access 2 to the World Wide Web 3 through common means such as a dial-up telephone line and modem, cable modem, or local area network (“LAN”). The web browser computer 1 is also provided with appropriate web browsing software, such as Netscape's Navigator or Microsoft's Explorer. A web server computer 5 is likewise provided with Internet access 4 to the World Wide Web 3 using similar means, or higher-bandwidth means such as T1 and T3 data lines, and a web server suite of software. Alternatively, client and servers may be interconnected via an Intranet 6, such as a corporate LAN. These arrangements are well known within the art.
Hyper Text Markup Language (“HTML”), Adobe's Portable Document Format (“PDF”), and other web documents provide “hyperlinks” within the document, which allow a user to select another document or web site to view. Hyperlinks are specially marked text or areas in the document which when selected by the user commands the browser software to retrieve or fetch the indicated document. For example, the text: <A HREF=“http://www.patents.ibm.com”>VIEW PATENTS</A when embedded into an HTML document will produce a specially marked or highlighted string of text in the web browser window which simply reads “VIEW PATENTS”. Most commonly, this text will appear in underlined blue text, but the HTML document may specify alternate display characteristics for hyperlinks. If the web browser user selects the hyperlink, such as by clicking on the hyperlink using a mouse, the web browser will request the base document from web address www.patents.ibm.com using HTTP commands. The appropriate server for this web address will respond to the request by transmitting a web document, such as index.htm, to the requesting web browser.
Ordinarily, when the user selects a plain hyperlink, the current page being displayed in the web browser's graphical user interface (“GUI”) window disappears and the newly received page is displayed. If the parent page is an index, for example the IBM web site www.patents.ibm.com, and the user wishes to visit each descending link (e.g. read the document with tips on how to use the site), then the parent or index page disappears and the new page is displayed (such as the help page). The user must click the browser's “back” button to return to displaying the parent page if desired.
FIG. 2 depicts a basic organization of many prior art computer systems, web browsers, and other computer-based devices. System 10 typically includes a microprocessor or central processor unit (“CPU”) including computer memory, and may also include interfaces to hard disks and removable disk media 14, and possibly interfaces to computer or communications networks 17 such as a network interface card (“NIC”) or wireless communications interface. Commonly used NICs include Ethernet local area network (“LAN”) cards, dial-up modem cards, and wireless communications circuits. Some of these circuits may be provided integral to system 10, such as the case with web-enabled cell phones, or these circuits may be add-in operations such as PCI cards or PCMCIA cards for personal computers.
Additional typical hardware provided in system 10 includes a group of user input/output (“I/O”) devices 13, such as a display, keyboard, and/or pointing device, accompanied by common user I/O interface circuits to allow the CPU and system software to access and use user I/O devices 13. Common display devices include VGA and LCD monitors for personal computers, and LCD panels for PDA and cell phones. Common pointing devices include “arrow keys”, “tab” keys, mouse and scroll-mouse, joystick, track balls, glide point touch sensitive pads, and touch sensitive displays with stylus pens. Some devices, such as certain PDA's, do not include an actual keyboard, but rather rely upon a touch-sensitive LCD display with virtual pointing device and stylus.
The software functionality of computer-based systems 10 can be divided into low-level device drivers and BIOS 18, an operating system 103, and applications programs. Low-level device drivers provide hardware-specific interface functions which allow the operating system and application programs to access the system hardware through common or generic application program interfaces (“API”). Some device drivers include necessary communications protocols and methods associated with a particular hardware device, such as a modem or wireless communications interface. Application programs can be further divided into portable applications, or applet 101, and non-portable, system-dependent applications 102. Such division of hardware and software functionality is well-understood in the art, and can be applied to large computer systems such as an IBM AS/400 equally as well to small computer systems such as PDA's running Windows CE.
On the system display is typically shown a conventional frame or “window” of information related to a specific system function or program, such as a web browser. FIG. 3 illustrates a typical arrangement of a web browser frame 20 including a title bar 21, tool bar 24, display area 25, and a pointer 201. Pointer 201 moves in response to the system pointing device and/or keyboard, such as typing on the arrow keys, movement of a mouse, track ball, or joystick. Title bar 21 may include “buttons” for minimizing or restoring frame 23, closing program 22, as well as a display of the name of the function or program. Tool bar 24 typically includes a number of text and/or iconic options, such as “file” and “edit” drop-down lists.
FIG. 4 depicts an example, on-line form with a plurality of fields into which data may be entered in accordance with the prior art. This form is displayed in a web browser window 20 in display area 25 of window 20. In this example, an order entry form is shown in which each ordered item has an item number 40, a part number or catalog number 41, a quantity of units ordered 42, and an extended calculated price 43. The form is provided with a submit order button 44. In many common technologies on web servers and web sites today, this form would be an HTML form or a common gateway interface (“CGI”) form. When the user has completed filling in numbers and information in the fields of the form, the user clicks on or selects the submit button 44 to cause data to be transferred from the user's web browser computer to the web site server.
For example, the user might enter a list of part numbers in order to obtain the current price for each item. In this example, the user must first enter in all part numbers for which a price is to be obtained. The form, including a listing of all of these part numbers, is then submitted to the web server. When the form is submitted, the form, including the list of part numbers, is transmitted to the server.
Once the server receives the form and list of part numbers, the server must retrieve each part number, search a database of part numbers, and locate the price for the part number. This process is repeated for each part number. Web server 5 then transmits these prices back to user's web browser which is executing on user's client computer system 1.
This process is typically not very efficient, especially when a user repeatedly searches the database. For each search, the communications channel, either intranet 6 or Internet 4, must transmit the search request from client 1 to Web server 5, and then must transmit the results of the search back to client 1. Further, web server 5 must execute a search of the database each time it receives a search request.
Therefore, a need exists for a method, system, and product for retrieving and displaying information related to data items entered into a form without searching a database.